约定俗成: 一般用户上传的文件、图片、视频等都会存放在media文件夹下
1. media 多媒体文件的配置
- 在根目录下创建media文件夹

- 在 settings.py 配置文件中做相应的配置
# settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
- 注意:
- 当配置了 media 多媒体文件夹后,用户所上传的图片或文件都会默认保存在 media 文件夹下
- 当配置了 media 多媒体文件夹后,FileField 或 IntegerField 字段类中 upload_to 参数所设置的文件夹默认会在 media 文件夹下创建
- 当配置了 media 多媒体文件夹后,FileField 或 IntegerField 字段类中 upload_to 参数如果为空,那么用户所上传的文件默认会保存在 media 文件夹下

# models.py
class UserInfo(AbstractUser):
# upload_to: 文件夹路径,如果没有会自动创建,用于保存上传文件
avatar = models.FileField(upload_to='avatars/', default="avatars/default.png") # 如果配置 media 多媒体文件夹,那么 upload_to 参数所设置的文件夹默认会在 media 文件夹下创建
2. 通过网址直接访问media多媒体文件夹里面文件
- 在一般情况下,media 多媒体文件不能像静态文件那样直接通过网址就可以访问了,而是需要在 urls.py 中进行配置才能通过网址进行访问
from django.views.static import serve
from django.conf import settings
urlpatterns = [
……
# media 配置
url(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}),
]
